
# `react`

React is a JavaScript library for creating user interfaces.

The `react` package contains only the functionality necessary to define React components. It is typically used together with a React renderer like `react-dom` for the web, or `react-native` for the native environments.

**Note:** by default, React will be in development mode. The development version includes extra warnings about common mistakes, whereas the production version includes extra performance optimizations and strips all error messages. Don't forget to use the [production build](https://reactjs.org/docs/optimizing-performance.html#use-the-production-build) when deploying your application.


# `react-router`

`BrowserRouter`和`HashRouter`之间的主要区别在于URL的表示方式和在浏览器中的处理方式。

`BrowserRouter`使用正常的URL路径（如`/about`），没有特殊字符。它适用于部署在Web服务器上，支持动态路由和服务端渲染。
`HashRouter`使用URL的哈希部分（如`/#/about`）来表示路由。它适用于静态站点、无服务器环境和本地文件系统。
当选择`BrowserRouter`时，URL更直观和干净，但需要正确配置Web服务器以支持动态路由和服务端渲染。而选择`HashRouter`时，URL中包含哈希部分，兼容性更好，但可能会被认为是旧式的URL表示方式。




## Usage

```js
import { useState } from 'react';
import { createRoot } from 'react-dom/client';

function Counter() {
  const [count, setCount] = useState(0);
  return (
    <>
      <h1>{count}</h1>
      <button onClick={() => setCount(count + 1)}>
        Increment
      </button>
    </>
  );
}

const root = createRoot(document.getElementById('root'));
root.render(<App />);
```

## Documentation

See https://reactjs.org/

See More https://www.react.express/

## API

See https://reactjs.org/docs/react-api.html
